using RikMigrations;
using RikMigrations.Tests;

//[assembly: Migration(typeof(DefaultTestMigration1), 1)]
//[assembly: Migration(typeof(DefaultTestMigration2), 2)]
[assembly: Migration(typeof(Module1TestMigration1), 1, "Module1")]
[assembly: Migration(typeof(Module1TestMigration2), 2, "Module1")]
[assembly: Migration(typeof(Module2TestMigration1), 1, "Module2")]
[assembly: Migration(typeof(Module2TestMigration2), 2, "Module2")]
[assembly: Migration(typeof(Module2TestMigration3), 3, "Module2")]

namespace RikMigrations.Tests
{
	public class DefaultTestMigration1 : IMigration
	{
		#region IMigration Members
		public void Up(Schema db)
		{
		}

		public void Down(Schema db)
		{
		}
		#endregion
	}

	public class DefaultTestMigration2 : IMigration
	{
		#region IMigration Members
		public void Up(Schema db)
		{
		}

		public void Down(Schema db)
		{
		}
		#endregion
	}

	public class Module1TestMigration1 : IMigration
	{
		#region IMigration Members
		public void Up(Schema db)
		{
		}

		public void Down(Schema db)
		{
		}
		#endregion
	}

	public class Module1TestMigration2 : IMigration
	{
		#region IMigration Members
		public void Up(Schema db)
		{
		}

		public void Down(Schema db)
		{
		}
		#endregion
	}

	public class Module2TestMigration1 : IMigration
	{
		#region IMigration Members
		public void Up(Schema db)
		{
		}

		public void Down(Schema db)
		{
		}
		#endregion
	}

	public class Module2TestMigration2 : IMigration
	{
		#region IMigration Members
		public void Up(Schema db)
		{
		}

		public void Down(Schema db)
		{
		}
		#endregion
	}

	public class Module2TestMigration3 : IMigration
	{
		#region IMigration Members
		public void Up(Schema db)
		{
		}

		public void Down(Schema db)
		{
		}
		#endregion
	}

    [Migration(3)]
    public class DefaultMigration3 : IMigration
    {
        public void Up(Schema db)
        {
            
        }

        public void Down(Schema db)
        {
            
        }
    }

    [Migration(4)]
    public class DefaultMigration4 : IMigration
    {
        public void Up(Schema db)
        {
            db.AddTable("NewTable")
                .AddColumn<int>("Id");

            db.AlterTable("NewTable")
                .AddColumn<string>("Name", 50);
        }

        public void Down(Schema db)
        {

        }
    }
}